1. Field of the Invention
The present invention relates generally to image forming apparatuses and, more particularly, to methods and apparatuses for controlling a transfer rate of image data within the image forming apparatuses.
2. Description of Related Art
As new computer systems and applications are developed and introduced into the marketplace, a primary motivating element in the evolution of economical and effective products continues to be increased processing speed. Regardless of the particular task at hand, few would disagree that, other things being equal, the quicker product will usually claim the market share.
In a typical networked multi-user computer environment, a number of individual workstations are linked together through a high speed network, usually a local area network (LAN). Also linked on the LAN are one or more peripheral devices such as printers, facsimile machines, scanners or plotters. One or more file servers are also linked to the network and serve to manage allocation of the devices to workstations which request the use of the devices. The allocation procedures typically involve accepting requests, determining the address of the device requested, maintaining queues, establishing priorities and relaying data from the workstation to the device.
Typically when a workstation user wishes to determine the status of a device that is networked on a LAN, the method available depends upon the intelligence of the device. The earlier generation of peripherals were "unintelligent," or perhaps, better "uncommunicative." They accepted data from the LAN and processed it according to instructions, but were incapable of relaying status information back to the LAN. A workstation user, concerned about the status of a device to which he or she had sent a job, would have to leave the workstation to physically examine the device.
A server, such as a file server or a print server, might be able to provide some information regarding the status of a print job. However, this status information related to the status of the print job in a print queue, and the print queue was neither created, maintained nor serviced by the printer. If a print job was removed from the print queue, one could infer that the printer was handling the print job. However, the status of the print job as it was handled by the printer could not be ascertained. For example, absence of a print job from the print queue could mean that the print job was complete, or it could also mean that the printer had received the print job into its buffer and was still processing the print job. Other features of such a print queue manager were reprioritization of print jobs and deletion of print jobs.
More recently, peripheral devices have become available which are able to perform a number of related functions. These devices are known as multifunction peripherals (MFPs).
The Telecommunication Industry Association (TIA) has provided an MFP interface standard known as the IS-650 Multifunction Peripheral Industry Interface Standard, Level 1 (MFPI-1) specification version 5.5. According to this standard, an MFP is:
Computer equipment used to scan, print, facsimile transmit, and/or copy documents. It also may have the capability to provide data modem and other voice telephony services. The MFP may be an integrated unit or may be several discrete units that are interconnected on the same communication channel to the Host or interconnected using several different channels. One or more of the subsystems may be omitted from the MFP.
A "Host" as defined in MFPI-1 is any terminal or computer capable of providing commands and data to operate a peripheral, and in practice is a computer of any size, or a group of network nodes on a given local area network. As used herein, a "host" is a generic Host, providing the quality of functionality specified in MFPI-1 without necessarily adhering to the specification. A "subsystem" according to MFPI-1 is one of several logical peripheral units, such as printer, scanner, fax-data-voice (FDV) modem, internal memory, stand-alone controller (SAC), operator console and others which may exist in the MFP or Host. The Host and the MFP communicate through a "channel."
An MFP can operate in stand-alone mode, wherein two or more subsystems are used without interaction with the Host. One example of this is copying. Stand-alone operations may occur at the same time that the Host is accessing a different subsystem for a Host-controlled operation.
In a networked system where many workstations are sharing peripherals, the use of a multifunction peripheral is a mixed blessing. On the one hand, rather than providing, for example, two different scanner functions (one for reading documents for facsimile transmission, one for reading documents for copying) and three different printing functions (one for printing computer generated documents, one for printing documents received through facsimile transmission, and one for printing documents that have been scanned in for copying), a single scanning function and a single printing function perform the work of printer, copier and facsimile machine. On the other hand, the single multifunction peripheral is used at least as often as all of the individual devices would have been used alone. Previously, where there was one user wishing to print a document, one user wishing to transmit a document via facsimile, and one user wishing to copy a document, each would ordinarily each have directed his or her task to a separate machine, and thus not interfere with one another. If any one of these devices was busy or overloaded, the others could perform unimpeded. With a single machine performing all three functions (in our example), reliable processing speeds are more important to ensuring the productivity enhancing capabilities and cost savings of the MFPs. Having many processes operating in the MFP at any given time can severely tax or overload the system resources of the MFP.
MFPs have generally been somewhat simple as to programmability and functionality. A conventional MFP may be confined to DOS-based controllers or dedicated/specific purpose boards. There has been little, if any recognition of the problem of processing throughput.